﻿using System;
using System.Collections.Generic;
using System.Data.Entity.ModelConfiguration;
using SMS.Domain.Entities;
using System.ComponentModel.DataAnnotations.Schema;

namespace SMS.Domain.Concrete.Mapping
{
    class OngDelegacionEntityTypeConfiguration:EntityTypeConfiguration<OngDelegacion>
    {
        public OngDelegacionEntityTypeConfiguration()
        {
            //Asignamo el nombre de la tabla.
            this.ToTable("OngDelegaciones");
            
            //Creamos la clave de la tabla OngDelegación, por convención 
            this.HasKey(od => new { od.OngDelId});
            
            //Indicamos que el campo OngDelId es de tipo Identity.
            this.Property(od =>od.OngDelId)
                .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

            /*Indicamos el tipo de relación one-to-many de la clase OngDelegación a la clase UserOng (Sólo los usuario
             * del tipo Ong podrán navegar a la tabla OngDelegación.*/
            //this.HasMany(od => od.UsersOng)
            //    .WithOptional(us => us.OngDelegacion);
        }
    }
}
